1. Field of the Invention
The present invention relates to video display systems, and in particular to xe2x80x9cscalingxe2x80x9d and xe2x80x9czoomingxe2x80x9d in DVD video display systems.
2. State of the Art
Display systems require a source of audio and video (A/V) data in order to display an in-motion picture on a screen. Often times, the source reads the A/V data from a storage median such as a digital versatile data (DVD) disc. The video data stored on the storage median is compressed into a particular compression format such as the MPEG video compression format. The A/V source reads the compressed data and provides it to a decoder which is adapted to interpret the particular compression format of the source and decompresses the data, picture by picture. Each picture of data is referred to as a frame of data. A frame of data is made up of a block of pixels and the number of pixels in each frame is dependent on the original picture format provided by the source of A/V data. For instance, a frame in one format, referred to as PAL, includes 720xc3x97576 pixels per frame, whereas a NTSC frame includes 720xc3x97480 pixels per frame. The decompressed frames are stored in a memory area referred to as a frame buffer.
The decompressed data is retrieved from the frame buffer by a video processor which retrieves the data at a rate compatible with the rate at which data is to be displayed by the screen. Commonly, the picture format of the A/V data provided by the source is different than the picture format of the display screen such that the number of pixels and the aspect ratio (i.e., the ratio of the number of pixels in each of the horizontal and vertical dimensions of a frame) of the source data is different from that of the display. Hence, one function that is often performed by the video processor is a scaling function which changes the number of pixels per frame and the aspect ratio of the source data to accommodate the number of pixels per frame and aspect ratio of the display screen. Commonly, this scaling function is automatically performed by the video system without intervention by the user.
However, in some cases, although a difference in picture format is present between the source and the display, reformatting is not performed. For instance, movies seen in a movie theater have a picture format in which the frame size is wider in the horizontal dimension of the frame and shorter in the vertical dimension of the frame when compared to a T.V. screen. Commonly, when recording the movie onto, for instance a DVD disc, the A/V data is still in the movie format. As a result, when the DVD disc is subsequently used to show the movie on a T.V. the viewer sees a black box above and below the picture. This is referred to as the letterbox version of the movie. The black boxes are seen since the number of pixels in each frame of the letterbox format data in the vertical dimension is not enough to fill the screen of the T.V.
In some cases, the letterbox is pre-scaled to a T.V. compatible format prior to recording it onto the DVD disc (sometimes referred to as the xe2x80x9cpanned and scannedxe2x80x9d version). In this case, the number of pixels in the letterbox version are increased so that the vertical dimension of the letterbox format matches that of the T.V. As a result, the number of pixels in the horizontal direction are greater than that of the T.V. and hence are xe2x80x9ccut-offxe2x80x9d to fit within the T.V. screen. In addition, other information, referred to as the directors cut information, is used to determine where the central viewing location of each of the xe2x80x9cpanned and scannedxe2x80x9d picture frame is to be. For instance, the xe2x80x9cpanned and scannedxe2x80x9d T.V. version might focus a little to the left or right of the center of the picture frame of the letterbox version, such that less pixels are xe2x80x9ccut-offxe2x80x9d on one side of the letterbox version in the horizontal direction than the other side.
Related to the scaling function is the zoom function which is also performed by the video processor. The zoom function is used to increase or decrease the size of the display seen on the screen. In general, it is an option provided to the system user to make the picture on the display screen bigger or smaller. The zoom function is performed by scaling the pixels so as to either increase or decrease the number of pixels per frame of data. Currently, the zoom function is implemented such that when video data is not being displayed or is in a stationary state (e.g., paused), the user can specify to zoom up by two or three times (i.e., 2xc3x97 or 3xc3x97). Alternatively, they may want to zoom down by two or three times. Currently, the function of zooming has been limited to fixed zoom values (2xc3x97 or 3xc3x97). Moreover, to date, the zoom function has only been performed while the display is in a stationary state, (i.e., not in-motion). Once the zoom selection has been made in the stationary state, the display can be put into motion.
The present invention is an improved system and method of performing the zoom function in a display system.
The present invention is a system and method of performing zoom functions on an xe2x80x9con-the-flyxe2x80x9d basis (i.e., while the video display is in-motion). In addition, infinite value scaling is provided to give the user the ability to zoom-up by any amount.
In one embodiment, infinite value zooming is implemented by a user employing a user interface device, such as a mouse, to select a window of random size in a display screen which is playing an in-motion video display. Once selected, the pixel data within that window is automatically scaled to fit in the total size of the display screen using infinite value scaling in accordance with the present invention. In another embodiment, the user can directly specify the zoom factor amount of the selected window using the user interface.
Zooming xe2x80x9con-the-flyxe2x80x9d is performed by using input information provided by the user through the user interface to determine scale factor information and base addresses information while the display is in-motion. In one embodiment, scale factor information includes horizontal and vertical scale factors. The scale factor information determines the number of additional pixels to be added in both the vertical and horizontal directions. The base address information determines a starting point within the frame buffer data at which data is retrieved from the video system memory. This starting point, in one embodiment, corresponds to the location of the user selected window within the display. Scaling is performed xe2x80x9con-the-flyxe2x80x9d by obtaining new scale factor information and base address information and updating scale factor and base address registers while the display is in a video blanking period. Subsequent the video blanking period, video data is retrieved from the frame buffer area at the location indicated by the base address and the retrieved data is scaled using the new scale factors.
In accordance with one embodiment, system software which resides within a system processor in the video system obtains the information from the user interface to calculate how much to scale the selected window of pixels. In this embodiment, new scale factor information and base address information are temporarily stored and then loaded into scale factor and base address registers during the video blanking period by the system processor. The new scale factor register values are then used when performing the scaling for the next frame of pixel data that is retrieved after the video blanking period. Scaling is performed using interpolation hardware which performs fixed point computations thereby allowing infinite value scaling.
In another embodiment, in which the video data source such as the DVD or CD disc provides the movie format (i.e. letterbox format) data to a T.V. or computer monitor, xe2x80x9cdirector""s cutxe2x80x9d information relating to horizontal positioning which is encoded within the letterbox format data is extracted and used to determine the best central viewing location of a given frame of displayed pixel data when the data is being zoomed up and is used to determine the amount of data xe2x80x9ccut-offxe2x80x9d from the sides of the display.
Alternatively, users can disable the directors cut information and pan and scan (i.e., move the central viewing location left, right, up or down) within the in-motion picture. Hence, in accordance with this embodiment, the central viewing location can be changed xe2x80x9con-the-flyxe2x80x9d. This is achieved only by changing the base address information during the video blanking period without changing scale factors. In this way, users can create their own xe2x80x9cpanned and scannedxe2x80x9d version of letterbox formatted video source data.